#ifndef OSM_WAY_H
#define OSM_WAY_H

#include <QVector>
#include <QMap>
#include <QString>

class OSMWay
{
public:
    OSMWay();

    unsigned int getId();
    void setId(unsigned int id);
    const QMap<QString, QString>* getFeatures();

    void addNodeId(unsigned int nodeId);
    void addFeature(const QString& key, const QString& value);
    bool isWaterArea(QString& category, QString& name);
    bool isStreet(QString& category, QString& name);
    bool isBuilding(QString& name, QString& addrCity, QString& addrCountry, QString& addrPostcode, QString& addrStreet, QString& addrSuburb);
    bool isGreenArea(QString& category, QString& name);
    bool isResidential(QString& category, QString& name);

    const QVector<unsigned int>* getNodeIds();

private:
    unsigned int m_id;
    QVector<unsigned int> m_nodeIds;
    QMap<QString, QString> m_features;
};

#endif // OSM_WAY_H